/*
	Sensor.h
*/

#ifndef Queue_h
#define Queue_h

const int QUEUE_MAXSIZE = 10;

template <class T>
class Queue
{
  public:
	Queue();
	Queue(int size);
	Queue(int size, bool isloop);
	~Queue(){delete [] data;}

	
	bool empty();
	int size();

	bool push(T e);
	bool pop(T &e);
	bool get(T &e);
	bool get(T &e, int offset);
	bool clear();

	
  private:
	T *data;
	int index, maxSize;
	bool isLoop;

	void init(int size);
};

#endif